The present disclosure relates to an apparatus and a method of processing information. More particularly, it relates to an apparatus of processing information such as a computer terminal and the like in which plural processors respectively execute separate operating systems to process data received from a network, whereby the data is accurately received without influencing any processing by another processor or operating system.
With the acceleration in processing speed of processors and the like, plural virtual computers have been gradually implemented to operate on a single physical computer in recent years. In such computers, any separate operating systems (OSS) are respectively executed on the virtual computers, as a general rule.
Thus, if a computer or the like in which one central processing unit (CPU) executes plural operating systems communicates to another computer or the like, it is necessary to judge which of operating systems data such as packets received from the network or the like is be exactly available for.
Japanese Patent Application Publication No. 2004-252776 has proposed such a technology that by using IP addresses, MAC addresses and the like, an operating system for which the received packet is available is identified.
FIG. 1 shows a functional configuration of a part of performing any reception processing on packets in the computer in which one CPU executes plural operating systems. The following describes a case where an operating system for which the received packet is available is identified by using IP addresses.
In FIG. 1, a network interface card 11 acquires a signal from the network or the like through a communication medium and receives a frame of data (for example, Ethernet (trademark) frame) that is available for the network interface card 11. The network interface card 11 then notifies an interrupt controller 12 of an interrupt.
CPU 13 performs the interrupt processing under the control of the interrupt controller 12. In this moment, a microkernel 14 constituted of software and the like that are performed by the CPU 13 analyzes an IP address based on the data stored in the frame that has received by the network interface card 11 to identify an operating system for which the received frame data (packet) is available. In such the case, the operating system is identified with, for example, a table shown in FIG. 2 or the like being referred.
FIG. 2 shows an example of the table in which the IP addresses correspond to previously determined operating systems (OSS). In the example, an IP address of 192.168.0.10 corresponds to OS0; an IP address of 192.168.0.11 corresponds to OS1; and an address of 192.168.0.12 corresponds to OS2.
Thus, the received packet data is supplied to any of the identified operating systems, OS0, OS1, and OS2.
Further, an apparatus for processing information having plural processors has recently spread out. FIG. 3 shows a functional configuration of a part of performing any reception processing on packets in the computer containing plural processors.
In an example shown in FIG. 3, CPU-0, CPU-1, and CPU-2 execute a single operating system (OS). The network interface card 11 receiving a frame data (for example, Ethernet (trademark) frame) that is available for the network interface card 11 notifies the interrupt controller 12 of an interrupt. Any one of the CPU-0, CPU-1, and CPU-2 then receives the packet. In this moment, the CPU to receive the packet may be selected based on a systems such as a round robin, the CPU having the heaviest load may be selected or the predetermined CPU may receive the packet continually.
As shown in FIG. 4, however, in an apparatus of processing information in which plural CPUS (CPU-0, CPU-1, and CPU-2) respectively execute the separate operating systems (OS-0, OS-1, and OS-2), even if a CPU selected based on the round robin is notified of the interrupt, the operating system for which this packet is actually available may have been already executed by another CPU. In order to avoid such a case, it is necessary to previously perform any processing to analyze which of the operating systems the packet is available for before the CPU is notified of the interrupt. However, it is difficult to receive data accurately from a network without influencing any processing by another processor or operating system in the apparatus of processing information in which plural CPUS respectively execute the separate operating systems.
It is desirable to provide an apparatus of processing information and the like in which plural processors respectively execute separate operating systems, whereby the data is accurately received without influencing any processing by another processor or operating system.